Bun Macros
JavaScriptのMacro
Bun Bundlerに入っている(?)
JavaScript Macros in Bun | Bun Blog
bundle時に実行されて、その結果がコード内にインラインで埋め込まれる
Import Attributesを使って{ type: 'macro' }でimportすればmacro扱いになる
code:ts
import { random } from './random.ts' with { type: 'macro' };
console.log(Your random number is ${random()});
λ bun buildでbundleすると、この関数を実行した結果がファイルに埋め込まれる
だから「rondom()を実行している」部分はbundle後に存在しない
build時にfetchして、その内容を埋め込むなど
SSG的なことができる